ace.define("ace/ext/split",["require","exports","module","ace/split"],function(t,i,e){e.exports=t("../split")}),ace.define("ace/split",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/editor","ace/virtual_renderer","ace/edit_session"],function(t,i,e){function s(t,i){this.$u=t,this.$doc=i}var n=t("./lib/oop"),o=t("./lib/lang"),r=t("./lib/event_emitter").EventEmitter,h=t("./editor").Editor,a=t("./virtual_renderer").VirtualRenderer,c=t("./edit_session").EditSession,l=function(t,i,e){this.BELOW=1,this.BESIDE=0,this.$container=t,this.$theme=i,this.$splits=0,this.$editorCSS="",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(e||1),this.$cEditor=this.$editors[0],this.on("focus",function(t){this.$cEditor=t}.bind(this))};(function(){n.implement(this,r),this.$createEditor=function(){var t=document.createElement("div");t.className=this.$editorCSS,t.style.cssText="position: absolute; top:0px; bottom:0px",this.$container.appendChild(t);var i=new h(new a(t,this.$theme));return i.on("focus",function(){this._emit("focus",i)}.bind(this)),this.$editors.push(i),i.setFontSize(this.$fontSize),i},this.setSplits=function(t){var i;if(1>t)throw"The number of splits have to be > 0!";if(t!=this.$splits){if(t>this.$splits){for(;this.$splits<this.$editors.length&&this.$splits<t;)i=this.$editors[this.$splits],this.$container.appendChild(i.container),i.setFontSize(this.$fontSize),this.$splits++;for(;this.$splits<t;)this.$createEditor(),this.$splits++}else for(;this.$splits>t;)i=this.$editors[this.$splits-1],this.$container.removeChild(i.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(t){return this.$editors[t]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(t){this.$editors.forEach(function(i){i.setTheme(t)})},this.setKeyboardHandler=function(t){this.$editors.forEach(function(i){i.setKeyboardHandler(t)})},this.forEach=function(t,i){this.$editors.forEach(t,i)},this.$fontSize="",this.setFontSize=function(t){this.$fontSize=t,this.forEach(function(i){i.setFontSize(t)})},this.$cloneSession=function(t){var i=new c(t.getDocument(),t.getMode()),e=t.getUndoManager();if(e){var n=new s(e,i);i.setUndoManager(n)}return i.$informUndoManager=o.delayedCall(function(){i.$deltas=[]}),i.setTabSize(t.getTabSize()),i.setUseSoftTabs(t.getUseSoftTabs()),i.setOverwrite(t.getOverwrite()),i.setBreakpoints(t.getBreakpoints()),i.setUseWrapMode(t.getUseWrapMode()),i.setUseWorker(t.getUseWorker()),i.setWrapLimitRange(t.$wrapLimitRange.min,t.$wrapLimitRange.max),i.$foldData=t.$cloneFoldData(),i},this.setSession=function(t,i){var e;e=null==i?this.$cEditor:this.$editors[i];var s=this.$editors.some(function(i){return i.session===t});return s&&(t=this.$cloneSession(t)),e.setSession(t),t},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(t){this.$orientation!=t&&(this.$orientation=t,this.resize())},this.resize=function(){var t=this.$container.clientWidth,i=this.$container.clientHeight,e;if(this.$orientation==this.BESIDE)for(var s=t/this.$splits,n=0;n<this.$splits;n++)e=this.$editors[n],e.container.style.width=s+"px",e.container.style.top="0px",e.container.style.left=n*s+"px",e.container.style.height=i+"px",e.resize();else for(var o=i/this.$splits,n=0;n<this.$splits;n++)e=this.$editors[n],e.container.style.width=t+"px",e.container.style.top=n*o+"px",e.container.style.left="0px",e.container.style.height=o+"px",e.resize()}}).call(l.prototype),function(){this.execute=function(t){this.$u.execute(t)},this.undo=function(){var t=this.$u.undo(!0);t&&this.$doc.selection.setSelectionRange(t)},this.redo=function(){var t=this.$u.redo(!0);t&&this.$doc.selection.setSelectionRange(t)},this.reset=function(){this.$u.reset()},this.hasUndo=function(){return this.$u.hasUndo()},this.hasRedo=function(){return this.$u.hasRedo()}}.call(s.prototype),i.Split=l}),function(){ace.require(["ace/ext/split"],function(){})}();